package com.zhuiYun.project.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 *
 * @author: HKY
 * @date: 2023/4/11 19:10
 * @Description: 请求限流
 */
@Target(ElementType.METHOD)//注解放置的目标位置，METHOD可注解在方法级别上
@Retention(RetentionPolicy.RUNTIME)//注解在哪个阶段执行
public @interface AccessLimit {
    /**
     *
     * @author: HKY
     * @Description: 时间范围（秒）
     */
    int seconds();

    /**
     *
     * @author: HKY
     * @Description: 这个时间内最大访问次数
     */
    int maxCount();

    /**
     *
     * @author: HKY
     * @Description: IP限流的时间范围（秒）
     */
    int ipSeconds();
    /**
     *
     * @author: HKY
     * @Description: IP限流这个时间内最大访问数
     */
    int ipMaxCount();
}
